示例展示了如何在 Kanzi Engine 插件中创建 2D 自定义节点 VideoView2D。VideoView2D 节点会渲染其分辨率可以被 2 整除并使用 MPEG-4 编解码器进行编码的视频文件。VideoView2D 节点不会播放视频文件中的音轨。
您可以在 Application/bin 目录中找到该视频文件。
示例展示了如何使用 Kanzi Engine 插件。对于 Android,将使用一个采用 OES_EGL_image_external 扩展的共享图像纹理从外部环境流式传输视频。
您可以在 <KanziWorkspace>/Examples/Node2D_plugin 目录中找到本示例。
要了解如何创建Kanzi Engine 插件,请参阅创建 Kanzi Engine 插件。
示例在 Windows 和 Android 平台上运行:
要在 Windows 10 N 和 Windows 10 KN 版本中运行 Node2D 插件示例,您必须安装 Microsoft 提供的媒体功能包。
因为 Android 的原生代码和 Kanzi 应用程序框架在不同的上下文中运行,所以不能共享 GPU 资源。多种可用的 OpenGL 扩展 (GL_TEXTURE_EXTERNAL_OES) 为可以在不同环境之间共享的外部纹理资源提供了支持,但会受到几个限制。Node2D_plugin 示例使用 Android 媒体播放器将视频流渲染到绑定至外部纹理句柄的表面视图。在 Kanzi 这一侧,渲染视频的那个节点的纹理会被绑定到同一个外部纹理句柄,并显示在渲染循环中。
您可以在其他平台上使用这种方法,但前提是:
典型的示例是流式传输视频。